package com.daffodil.storage.properties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

import lombok.Getter;
import lombok.Setter;

/**
 * 
 * @author yweijian
 * @date 2022年12月8日
 * @version 2.0.0
 * @description
 */
@Setter
@Getter
@Component
@RefreshScope
@ConfigurationProperties(prefix = "daffodil.storage")
public class StorageProperties {

    public static final String NAME = "daffodil.storage.name";

    public static final String DISK = "disk";

    public static final String TENCENT = "tencent";

    public static final String ALIYUN = "aliyun";

    public static final String MINIO = "minio";

    public static final String QINIU = "qiniu";

    public static final String SEAWEEDFS = "seaweedfs";

    public static final String FASTDFS = "fastdfs";

    public static final String SFTP = "sftp";

    /**
     * -对象存储名称：disk、aliyun、tencent、minio、qiniu、seaweedfs、fastdfs、sftp
     */
    private String name = DISK;

    private DiskProperties disk;

    private AliyunProperties aliyun;

    private TencentProperties tencent;

    private MinioProperties minio;

    private QiniuProperties qiniu;

    private SeaweedfsProperties seaweedfs;

    private FastdfsProperties fastdfs;

    private SftpProperties sftp;

}
